package com.ht.api.call.func.impl.init;

import java.util.ArrayList;
import java.util.List;

import com.ht.api.bigtask.BigTask;
import com.ht.api.bigtask.BigTaskExecutor;
import com.ht.api.bigtask.impl.qywx.CreateMomentTag;
import com.ht.api.bigtask.impl.qywx.FollowUserTask;
import com.ht.api.bigtask.impl.qywx.GetCustomerAcquisitionQuota;
import com.ht.api.bigtask.impl.qywx.GetPermitExteranalUserList;
import com.ht.api.bigtask.impl.qywx.GetPermitMessageList;
import com.ht.api.bigtask.impl.qywx.GetPermitUserList;
import com.ht.api.bigtask.impl.qywx.GetUnassignedList;
import com.ht.api.bigtask.impl.qywx.QueryChatInfoTask;
import com.ht.api.bigtask.impl.qywx.QueryChatListTask;
import com.ht.api.bigtask.impl.qywx.QueryFollowUserInfoTask;
import com.ht.api.bigtask.impl.qywx.QueryTagListTask;
import com.ht.api.bigtask.impl.qywx.QueryUserListTask;

import lombok.extern.slf4j.Slf4j;

/**
 * 开放平台应用初始化：企业微信客户联系<br>
 * 注意：类名格式必须为：OpenAppInit_%s，%s代表开放平台的main_id<br>
 * 这样命名的原因是为了通过以下代码快速获取到这个类的实例，方便调用<br>
 * OpenAppInitialization appInit = FunctionUtil.getFunction("OpenAppInit_%s")
 * @author asq
 * @createTime 2025年4月9日 11:49:19
 */
@Slf4j
public class OpenAppInit_1868916871932284928 implements OpenAppInitialization {

	@Override
	public void initialization(String appId) {
		List<BigTask> bigTaskList = new ArrayList<>();
		bigTaskList.add(new QueryTagListTask()); // 企业标签库
		bigTaskList.add(new FollowUserTask()); // 获取客服列表
		bigTaskList.add(new QueryFollowUserInfoTask()); // 获取客服详情
		bigTaskList.add(new QueryUserListTask()); // 获取客服的客户列表
		bigTaskList.add(new QueryChatListTask()); // 获取群列表
		bigTaskList.add(new QueryChatInfoTask()); // 群详情
		bigTaskList.add(new CreateMomentTag()); // 朋友圈分区标签
		bigTaskList.add(new GetPermitUserList()); // 会话内容存档开启成员列表
		bigTaskList.add(new GetPermitExteranalUserList()); // 获取外部用户的会话同意情况
		bigTaskList.add(new GetPermitMessageList()); // 拉取会话存档消息记录
		bigTaskList.add(new GetUnassignedList()); // 拉取离职成员列表
		bigTaskList.add(new GetCustomerAcquisitionQuota()); // 查询获客助手额度剩余使用量
		BigTaskExecutor.start(appId, "企业微信初始化appid:" + appId, bigTaskList);
	}

}
